package com.example.tapiossservice.common.unifyDataForm;

import lombok.Data;
import com.example.tapiossservice.common.unifyDataForm.ResultVo;
import java.io.Serializable;

    /*
    *
    * 统一返回格式类
    * */

@Data
public class Result<T> implements Serializable {

    /**
     * 信息码
     * */
    private Integer code;

    /**
     * 信息体
     * */
    private String messageContent;

    /**
     * 返回数据
     * */
    private T data;

    public Result(Integer code, String message,T data) {
        this.code = code;
        this.messageContent = message;
        this.data = data;
    }


    /**
     * 返回成功结果对象
     *
     */
    public static <T> Result<T> success() {
        return new Result<>(ResultVo.SUCCESS.code(),ResultVo.SUCCESS.message(),null);
    }

    /**
     * 返回成功结果对象，带数据
     * */
    public static <T> Result<T> success(T data){
        return new Result<>(ResultVo.SUCCESS.code(),ResultVo.SUCCESS.message(),data);
    }

    /**
     * 功能描述: 失败返回结果
     */
    public static <T> Result<T> error(ResultVo Result){
        return new Result<>(Result.getCode(),Result.getMessage(),null);
    }



}
